অ্যাপাচি নিফাই (Apache NiFi) একটি শক্তিশালী ডেটা ইন্টিগ্রেশন টুল, যা ডেটা ফ্লো ম্যানেজমেন্ট এবং অটোমেশনকে সহজ করে। নিফাইতে Workflow History এবং Rollback Features কার্যকরী ফিচার যা ডেটা ফ্লো পরিচালনায় সহায়ক। Workflow History ব্যবহারকারীদের ডেটা ফ্লো ইভেন্টগুলি ট্র্যাক করতে এবং বিশ্লেষণ করতে সহায়ক, এবং Rollback Features ব্যবহার করে আপনি কোনও ত্রুটি বা অপ্রত্যাশিত পরিস্থিতিতে পূর্ববর্তী সফল অবস্থায় ফিরে যেতে পারেন।
এই গাইডে, আমরা অ্যাপাচি নিফাইতে Workflow History এবং Rollback ফিচারগুলি কীভাবে কাজ করে এবং কীভাবে এগুলি কনফিগার করা যায় তা বিস্তারিতভাবে আলোচনা করব।
Workflow History নিফাইয়ের একটি গুরুত্বপূর্ণ ফিচার, যা ডেটা ফ্লোর প্রতিটি ধাপের ট্র্যাকিং তথ্য সংরক্ষণ করে। এটি ব্যবহৃত হয় যখন আপনি আপনার ডেটা ফ্লো প্রক্রিয়ার ইতিহাস দেখতে চান এবং সেই তথ্যের উপর ভিত্তি করে ডেটা প্রক্রিয়া বা ডিবাগিং করার প্রয়োজন পড়ে।
নিফাই Workflow History দেখার জন্য, আপনাকে Provenance এবং Provenance Repository কনফিগার করতে হবে। Provenance ফিচার নিফাইয়ে ডেটা ফ্লোর প্রতিটি স্টেপের ইতিহাস সংরক্ষণ করে।
Provenance Repository কনফিগারেশন:
Provenance Repository নিফাইয়ের মধ্যে ডেটা ফ্লো ইতিহাস সংরক্ষণের জন্য ব্যবহৃত হয়। এটি nifi.properties
ফাইলে কনফিগার করা হয়:
nifi.provenance.repository.directory.default=/path/to/provenance
nifi.provenance.repository.max.size=10 GB
nifi.provenance.repository.rollover.time=1 hour
nifi.provenance.repository.max.age=7 days
nifi.provenance.repository.directory.default
: Provenance ডেটা কোথায় সংরক্ষণ করা হবে।nifi.provenance.repository.max.size
: সর্বাধিক সাইজ যা Provenance ডেটা ধারণ করতে পারে।nifi.provenance.repository.rollover.time
: Provenance ডেটার রোলওভার সময় (যেমন, প্রতি 1 ঘণ্টা পর রোলওভার হবে)।nifi.provenance.repository.max.age
: কত দিনের পুরানো Provenance ডেটা রাখা হবে।Rollback Features নিফাইয়ের একটি গুরুত্বপূর্ণ ফিচার, যা আপনাকে ডেটা ফ্লো বা প্রসেসর থেকে কোনও ত্রুটি ঘটলে পূর্ববর্তী সফল অবস্থায় ফিরে যেতে সহায়ক। এটি বিশেষত সেই পরিস্থিতিতে কার্যকর, যখন ডেটা প্রক্রিয়া করার সময় কোনো সমস্যা বা ব্যর্থতা ঘটে এবং আপনি আগের সফল অবস্থায় ফিরে যেতে চান।
Rollback ব্যবহারের জন্য, নিফাইতে বিভিন্ন প্রসেসরের মাধ্যমে Retry
এবং Rollback
কনফিগার করা যায়।
Processor Retry:
নিফাই প্রসেসরের জন্য Retry
এবং Failure
অপশন কনফিগার করতে হয়, যাতে কোনো ত্রুটি ঘটলে এটি Retry করে এবং ব্যর্থ হলে Rollback করা যায়।
উদাহরণস্বরূপ, একটি HTTP রিকোয়েস্ট প্রোসেসরের জন্য আপনি Retry
অপশন কনফিগার করতে পারেন:
nifi.processor.retry.backoff.duration=1 minute
nifi.processor.retry.max.retries=3
Failure Relationships:
নিফাই প্রসেসরে Failure রিলেশনশিপ ব্যবহার করে ত্রুটি হলে ডেটাকে রোলব্যাক করতে পারেন। আপনি Failure
রিলেশনশিপ ব্যবহার করে ডেটাকে Retry
বা অন্য একটি উপযুক্ত রিলেশনশিপে পুনরায় পাঠাতে পারেন।
উদাহরণ:
PutDatabaseRecord
|-> Success
|-> Failure (on error, retry or rollback)
PutSQL
, PutFile
, বা PutDatabaseRecord
তে আপনি Failures বা Rollback এর জন্য কাস্টম কনফিগারেশন করতে পারেন, যাতে ডেটার ব্যর্থতা হলে পূর্ববর্তী সফল অবস্থায় ফিরে আসা যায়।Provenance এবং Rollback দুটি একে অপরের পরিপূরক। Provenance আপনাকে ডেটার ইতিহাস ট্র্যাক করতে এবং বিশ্লেষণ করতে সাহায্য করে, যাতে আপনি বুঝতে পারেন ডেটা কোথায় এবং কিভাবে পরিবর্তিত হয়েছে। Rollback ফিচারটি নিশ্চিত করে যে যদি কোনো সমস্যা বা ত্রুটি ঘটে, তবে আপনি পূর্ববর্তী সফল অবস্থায় ফিরে যেতে পারেন। একত্রে, এই দুটি ফিচার আপনার ডেটা ফ্লো প্রক্রিয়া সুরক্ষিত, কার্যকরী এবং স্থিতিশীল রাখে।
অ্যাপাচি নিফাইয়ে Workflow History এবং Rollback Features অত্যন্ত গুরুত্বপূর্ণ ফিচার যা ডেটার সঠিকতা, স্থিতিশীলতা এবং নিরাপত্তা নিশ্চিত করতে সাহায্য করে। Workflow History এর মাধ্যমে আপনি ডেটার প্রক্রিয়া এবং ইতিহাস দেখতে পারেন, যা ডিবাগিং এবং বিশ্লেষণে সহায়ক। Rollback ফিচারটি ত্রুটির পরে ডেটাকে পূর্ববর্তী সফল অবস্থায় পুনরুদ্ধার করতে সহায়ক, যা সিস্টেমের স্থিতিশীলতা বজায় রাখতে সাহায্য করে। এই দুটি ফিচার নিফাইকে আরও শক্তিশালী এবং নির্ভরযোগ্য করে তোলে।
common.read_more